In a linear radio communication system, the peak-to-average ratio (i.e., the ratio of the signal envelope peak power to the average power of the signal) of a communication signal is of critical importance to the cost, complexity, and size of the radio's linear power amplification system. Seemingly small reductions in peak-to-average ratio can have a significant impact on each of the above-mentioned system characteristics.
A problem in the design of linear power amplifiers is the effect of the transmitted signal's peak-to-average ratio on performance. As the peak-to-average ratio (PAR) increases, the back-off needed for adequate splatter performance of the power amplifier increases proportionally. Therefore, it is highly desirable to control the PAR of the signal input to the amplifier. However, any attempt to reduce the nominal PAR through other than linear processing functions (i.e., non-linear signal processing) generates splatter. Splatter, which is signal energy that extends beyond the frequency band allocated to a signal, is highly undesirable because it interferes with communications on adjacent channels.
One method of reducing PAR is hard clipping, which reduces each signal value exceeding a clip threshold to a predetermined magnitude, often the threshold magnitude. Hard-clipping causes significant splatter due to the abrupt nature of its operation.
Another method of reducing PAR is a "soft" algorithm that applies the desired signal to a non-linear device that limits signal peaks. A significant proportion of the input samples must be altered, causing significant energy to be splattered into adjacent channels.
A method of reducing PAR that does not generate significant splatter is described in U.S. Pat. No. 5,287,387, titled "LOW SPLATTER PEAK-TO-AVERAGE SIGNAL REDUCTION" and issued on Feb. 15, 1994 to Mark Birchler with the same assignee as the present invention.
The following describes the apparatus for and method of effective PAR control without the generation of significant splatter described in U.S. Pat. No. 5,287,387. The method involves a windowed-clipping algorithm that provides a low-splatter mechanism of reducing signal peaks by applying an attenuating window, such as an inverse Harming window, to a limited number of signal samples centered at the peak of a signal above a clip threshold.
A timing diagram of an input signal having a local maximum at time Tmax above a predetermined clip threshold is shown in FIG. 1. Because any signal value above the clip threshold causes a power amplifier to operate in its non-linear region, resulting in splatter, the maximum signal input to the power amplifier is clipped to the clip threshold. A timing diagram of an inverted Hanning window centered at time Tmax, the time of the local maximum of the input signal, is shown in FIG. 2. After applying the inverted Hanning window to the input signal, the resultant signal is shown in the timing diagram of FIG. 3. Note that the signal values above the clip threshold have been attenuated to be no larger than the clip threshold, thus preventing the power amplifier from entering non-linear operation and causing splatter. This process will be referred to as windowed clipping or the windowed-clipping algorithm in this application.
A diagram of clip magnitude versus instantaneous signal power is shown in FIG. 4. No clipping occurs when the instantaneous signal power is below Tclp, where Tclp is the predetermined clip threshold power level as well as the maximum allowed peak signal power value that does not trigger the windowed-clipping algorithm. Variable clipping occurs when the instantaneous signal power is above Tclp and below Tsat, the predetermined clip saturation threshold power level. Constant clipping occurs when the instantaneous signal power is above Tsat.
A block diagram of a transmitter with windowed clipping is shown in FIG. 5. Although a Quad-16QAM signal is transmitted in the preferred embodiment of U.S. Pat. No. 5,287,387, the windowed-clipping procedure will function successfully, on other signal types. Outputs from four Quad-16QAM sub-channel processors 501, 503, 505, and 507 are combined in a summer 509. The signal t(n) is the complex-valued signal stream at the output of the Quad-16QAM transmit sub-channel summer 509. The signal t(n) is input to the windowed-clipping process block 511, which outputs a window-clipped signal t.sub.w (n) to an interpolation and decimation filter 513, the output of which is fed into a quadrature upconverter/transmitter 515 for transmission of the signal in a predetermined fashion, e.g., Quad-16QAM, through an antenna 517.
A block diagram showing a windowed-clipping algorithm is shown in FIG. 6. Although a window will typically be of length 9, 11, or 13, a length L=5 window is shown to minimize complexity of the drawings, where a length L window means that there are L stages of delay and L samples that are modified by the windowed-clipping process. The windowed-clipping algorithm is triggered by a local maximum sample value that exceeds Tclp. The three center elements of the delay line, p(n), p(n-1), and p(n+1), are used to check for algorithm triggering, where p(n)=t(n-[L-1]/2), which is a complex quantity. If .vertline.p(n).vertline..sup.2 is less than Tclp, then no further logic is required, i.e., no clipping is necessary.
The input signal to the windowed-clipping process is t(n). The first stage of the process is a first one-sample delay stage 601. The output of this first delay 601 is combined with w.sub.0 (n) in a first multiplier 603. The output of the first multiplier 603 is input to a second one-sample delay stage 605. The output of the second delay 605 is designated p(n+1), and is input to a second multiplier 607 and a window calculation logic block 621. The window calculation logic block 621 determines the values of the attenuating window, w.sub.0 (n), w.sub.1 (n), . . . , w.sub.L-1 (n), based on triggers and calculations described below. The sample p(n+1) is multiplied with w.sub.1 (n) by the second multiplier 607. The output of the second multiplier 607 is input to a third one-sample delay stage 609. The output of the third delay 609 is designated p(n), because it represents the center sample of the window which is used to center the attenuating window at a local maximum, and is input to a third multiplier 611 and the window calculation logic block 621. The sample p(n) is multiplied with w.sub.2 (n) by the third multiplier 611. The output of the third multiplier 611 is input to a fourth one-sample delay stage 613. The output of the fourth delay 613 is designated p(n-1), and is input to a fourth multiplier 615 and the window calculation logic block 621. The sample p(n-1) is multiplied with w.sub.3 (n) by the fourth multiplier 615. The output of the fourth multiplier 615 is input to a fifth one-sample delay stage 617. The output of this fifth delay 617 is combined with w.sub.4 (n) in a fifth multiplier 619. The default values of the attenuating window, w.sub.0 (n), w.sub.1 (n), . . . , w.sub.L-1 (n), are ones, such that when the windowed-clipping algorithm is not triggered, the input signal samples pass through the windowed-clipping process 511 unaltered except for the delays. Thus, the multipliers 603, 607, 611, 615, and 619 apply the attenuating window to the input signal t(n) resulting in the output signal t.sub.w (n), which is at or below Tclp.
There are two modes of operation of the windowed-clipping algorithm, variable and constant. If .vertline.p(n).vertline..sup.2 is greater than Tclp, but less than Tsat (criterion 1), and is determined to be a local maximum (criterion 2), a variable window calculation is triggered. Thus, the two conditions that trigger a variable window calculation are: EQU Tsat&gt;.vertline.p(n).vertline..sup.2 &gt;Tclp 1) EQU and EQU .vertline.p(n).vertline..sup.2 .gtoreq..vertline.p(n-1).vertline..sup.2 and .vertline.p(n).vertline..sup.2 .gtoreq..vertline.p(n+1).vertline..sup.2. 2)
The equation that defines a variable window is: EQU w.sub.j (n)=1+(c-1)h.sub.j
where EQU c=.sqroot.Tclp/.vertline.p(n) and j=0, 1, . . . , L-1.
A length L Hanning window, where L is odd, is defined as: EQU h.sub.j =[1-cos(2.pi.j/(L-1))]/2 for j=0, 1, . . . , L-1.
If .vertline.p(n).vertline..sup.2 is greater than Tsat (criterion 1) and is also determined to be a local maximum (criterion 2), then constant windowed clipping occurs. Thus, the two conditions that trigger a constant window calculation are: EQU .vertline.p(n).vertline..sup.2 .gtoreq.Tsat EQU and EQU .vertline.p(n).vertline..sup.2 .gtoreq..vertline.p(n-1).vertline..sup.2 and .vertline.p(n).vertline..sup.2 .gtoreq..vertline.p(n+1).vertline..sup.2. 2)
Thus, a constant window is defined as EQU w.sub.j (n)=1+(c-1)h.sub.j
where EQU c=.sqroot.Tclp/Tsat for j=0, 1, . . . , L-1.
In the preferred embodiment of U.S. Pat. No. 5,287,387, the windowed-clipping process 511 is performed in a Digital Signal Processor (DSP), such as a DSP56000 available from Motorola, Inc. The sub-channel processors 501, 503, 505, and 507, summer 509, and interpolation and decimation filter 513 are also performed by a DSP, as is known in the art.
When .vertline.p(n).vertline..sup.2 is a local maximum, the windowed-clipping algorithm is triggered. Alternatively, the algorithm may be triggered simply when .vertline.p(n).vertline..sup.2 is a greater than Tclp, resulting in a different type of low-splatter PAR reduction than with the previously described triggering. A variable window calculation is performed with this alternative form of triggering.
Although w.sub.j (n) for j=0, 1, . . . , L-1 is an inverted Harming window in the preferred embodiment of U.S. Pat. No. 5,287,387, there are many other windows that will be successful when used in the windowed-clipping algorithm, such as a Hamming window or a Kaiser window.
Windowed clipping provides a less abrupt clipping operation than hard clipping, while affecting fewer input samples than soft clipping, resulting in a smoother clipping operation that splatters less energy out of an allocated frequency band. When Tsat is set to a level less than the absolute maximum peak level, both constant windowed clipping and variable windowed clipping occurs, further reducing the severity of the clipping, and communications on adjacent channels are subject to less interference.
Because the windowed-clipping algorithm described above is applied to samples of an input signal, a particular sampling rate must be determined to make these samples. As is known in the art, the higher the sampling rate, the larger the amount of time and energy are required to process these samples, in proportion to the frequency of sampling. Although time and energy are saved as the rate of sampling decreases, the accuracy of the estimate of the original signal diminishes. FIG. 7 shows an input signal with a peak or local maximum above the clip threshold, Tclip. The samples of the signal 701 and 702, however, are not above the clip threshold. Hence, when using the above windowed-clipping algorithm, no windowed-clipping will be performed on this particular peak, because windowed-clipping is performed only when samples fall above the clip threshold. Because a digital-to-analog converter will reconstruct the input signal from the samples into a signal that contains a segment whose magnitude is above the clip threshold, the resultant analog signal will cause splatter problems at the transmitter unless other correction is provided.
As shown in FIG. 8, a sample for a peak in the input signal is above Tclip, but the magnitude of the local maximum of the peak is greater than the magnitude of the highest-magnitude sample found for this peak. The windowed clipping algorithm involves centering a clipping window at the highest point of the signal. If the highest-magnitude sample 801 is considered the local maximum for the peak shown in FIG. 8, then the attenuating window 901 in FIG. 9 will be centered at the time, Tsample, resulting in a clipped signal 1001 with values above the clip threshold, resulting in splatter. As well as not being attenuated sufficiently, the signal has not been attenuated evenly in time about the center of the peak because the attenuating window was centered at a sample that was not the local maximum of the signal. For the local maximum of FIG. 8 to have been appropriately attenuated, the attenuating window 902 of FIG. 9 should be centered at time Tmax, which is the time of occurrence of the local maximum, and attenuated signal 1002 in FIG. 10 results, showing that the appropriately attenuated signal is no longer above the clip threshold, as is desired for good splatter prevention.
Accordingly, there is a need for an improved windowed-clipping algorithm that can more accurately determine the time of a local maximum of an input signal, and determine when part of an input signal falls above a clip threshold when none of the samples of the input signal are above the clip threshold.